//
//  XMPPManager.h
//  XMPPManager
//
//  Created by cocoajin on 14-4-17.
//  Copyright (c) 2014年 com.9ask. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "XMPPFramework.h"

#import "XMPPManagerDelegate.h"

@interface XMPPManager : NSObject

@property (nonatomic, strong)XMPPStream *xmppStream;
@property (nonatomic, weak)id<XMPPManagerDelegate>delegate;
@property (nonatomic, copy) NSString * theHostIP;

/// start事件，由客户端主动发起
- (void)toStartMessage;

/// 客户端与渲染端建立连接后，接受媒体流准备工作就绪，通知中控，准备就绪
- (void)clientReadyEvent;

/// 打洞数据通知客户端
- (void)candidateEvent:(NSDictionary *)candidateDic;

/// 给中控发送文本（驱动模式robotMode为空）
/// @param content 文本内容
- (void)commandEvent:(NSString *)content;

/// 客户端控制开启、关闭asr识别
/// @param isOpen yes:打开，no：关闭
- (void)changeAsrEvent:(BOOL)isOpen;

/// 对话模式用answer事件
/// @param content 语音地址或文本内容
/// @param isAudio 是否是语音（yes：语音，no：文本）
- (void)answerCommandEvent:(NSString *)content isAudio:(BOOL)isAudio;

/// 设置心跳包
- (void)setPingEvent;

/// 发送sdp给服务端
- (void)offerSdp:(NSString *)sdp;
/**
 *  设置xmpp服务器的ip
 *
 *  @return 返回一个xmpp服务器管理器
 */
+ (XMPPManager*)manager;


/**
 *  设置登录用户名和密码
 *
 *  @param userName 用户名
 *  @param pwd      密码
 */
- (void)setUserName:(NSString *)userName password:(NSString *)pwd;

/**
 *  设置 xmppStrem;
 */
- (void)setUpStream;

/**
 *  连接服务器；
 *
 *  @return 是否连接成功
 */
- (BOOL)connectServer;

/**
 *  断开服务器连接；
 */
- (void)disConnect;

/**
 *  上线；
 */
- (void)goOnLine;

/**
 *  离线；
 */
- (void)goOffLine;

@end
